package org.hcyspartnoc.luoxin.service.system;

import com.baomidou.mybatisplus.extension.service.IService;
import org.hcyspartnoc.luoxin.common.core.PageBean;
import org.hcyspartnoc.luoxin.common.exception.system.SysRoleException;
import org.hcyspartnoc.luoxin.pojo.dto.system.SysRoleAddDto;
import org.hcyspartnoc.luoxin.pojo.dto.system.SysRoleModifyDto;
import org.hcyspartnoc.luoxin.pojo.po.system.SysRolePo;
import org.hcyspartnoc.luoxin.pojo.vo.system.SysRoleVo;

public interface ISysRoleService extends IService<SysRolePo> {
    SysRoleVo addRole(SysRoleAddDto sysRoleAddDto) throws SysRoleException;

    SysRoleVo modifyRole(SysRoleModifyDto sysRoleModifyDto) throws SysRoleException;

    void removeRole(Integer roleId) throws SysRoleException;

    PageBean<SysRolePo, SysRoleVo> queryByPage(Integer currentPage, Integer pageSize, String name, Integer status);

    void modifyStatus(Integer roleId) throws SysRoleException;
}
